Dissertation Abstract First-order Theorem Proving for Program Analysis and Theory Reasoning
نویسنده
چکیده
Analyzing and verifying computer programs is an important and challenging task. Banks, hospitals, companies, organizations and individuals heavily depend on very complex computer systems, such as Internet, networking, online payment systems, and autonomous devices. These systems are integrated in an even more complicated environment, using various computer devices. Technically, software systems rely on software implementing complicated arithmetic and logical operations over the computer memory. If this software is not reliable, the costs to the economy and society can be huge. Software development practices therefore need rigorous methods ensuring that the program behaves as expected. Formal verification provides a methodology for making reliable and robust systems, by using program properties to hold at intermediate points of the program and using these properties to prove that programs have no errors. Providing such properties manually requires a considerable amount of work by highly skilled personnel and makes verification commercially not viable. Formal verification therefore requires non-trivial automation for generating valid program properties, such as loop invariants. In this thesis we study the use of first-order theorem proving for generating and proving program properties. Our thesis provides a fully automated tool support, called Lingva, for generating quantified invariants of programs over arrays, and shows experimentally that the generated invariants summarize the behavior of the considered loops. Our work is based on the recently introduced symbol elimination method for invariant generation, using a saturation-based
منابع مشابه
Symbolic Computation and Automated Reasoning for Program Analysis
This talk describes how a combination of symbolic computation techniques with first-order theorem proving can be used for solving some challenges of automating program analysis, in particular for generating and proving properties about the logically complex parts of software. The talk will first present how computer algebra methods, such as Gröbner basis computation, quantifier elimination and ...
متن کاملThe Term Rewriting Approach to Automated Theorem Proving
Reasoning about equality has been one of the most challenging problems in automated deduction. In the past thirty years, a number of methods have been proposed. In this survey, we give an overview of one of the more successful approaches, the term rewriting method. Term rewriting was first proposed by Evans [381 and Knuth-Bendix [93]. Its original purpose was for generating canonical term rewri...
متن کاملReasoning About Loops Over Arrays using Vampire
The search for automated loop invariants generation has been popularly pursued due to the fact that invariants play a critical role in the verification process. Invariants with quantifiers are particularly interesting for these quantified invariants can be used to express relationships among the elements of array variables and other scalar variables. Automated invariant generation using a first...
متن کاملCompleteness for a First-Order Abstract Separation Logic
Existing work on theorem proving for the assertion language of separation logic (SL) either focuses on abstract semantics which are not readily availabe in most applications of program verification, or on concrete models for which completeness is not possible. An important element in concrete SL is the points-to predicate which denotes a sin-gleton heap. SL with the points-to predicate has been...
متن کاملFirst-Order Theorem Proving and Vampire
In this paper we give a short introduction in first-order theorem proving and the use of the theorem prover VAMPIRE. We discuss the superposition calculus and explain the key concepts of saturation and redundancy elimination, present saturation algorithms and preprocessing, and demonstrate how these concepts are implemented in VAMPIRE. Further, we also cover more recent topics and features of V...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2015